package com.learn.test;

import java.util.Map;
import java.util.Properties;

public class StandardEnvironment {
    public static void main(String[] args) {
        // getSystemProperties：获取系统属性。系统属性指Java虚拟机中的变量，可以用idea自己设置。System.getProperties()
        // 	测试：idea的JVM中配置-Dtestproperties=properties（重启idea生效）
        Properties properties = System.getProperties();
        properties.forEach((key, value) -> System.out.println(key + "=" + value));
        properties.put("test", "test"); // 可修改
        
        System.out.println("===========================================");
        
        // getSystemEnvironment：获取系统环境变量。系统环境变量指高级系统设置中设置的环境变量。System.getenv()
        // 	测试：高级系统设置中新建变量testenv=env
        Map<String, String> getenv = System.getenv();
        getenv.forEach((key, value) -> System.out.println(key + "=" + value));
        // 	系统环境变量不能在代码中被修改（map.put），因为System.getenv()返回的Map被final修饰
        getenv.put("test", "test"); // 不可修改。报错UnsupportedOperationException
        
        /**
         * Properties和Env的区别
         * 1️⃣Properties属于当前idea项目，Env全局的属于整个系统
         * 2️⃣Properties可以被put，Env不可被put
         */
    }
}
